Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds a new type of recipe, called
collect_references
. It takes a directory recipes, and bakes to the same value, then adds in abrioche-resources.d
directory containing all the references from all descendent artifacts within (and then removes the reference from each artifact).This effectively mirrors how
brioche build -o <directory>
works, and is specifically meant to improve situations where we need to create a self-contained tarfile of a Brioche artifact within Brioche itself. A real-world use-case can be seen instd.ociContainerImage
, where we currently need to effectively manually do what this new recipe does in a messier way (see theexpandResources
function).Also, because this feature is now built-in, it's easier to grab only the necessary resources for a recipe. Previously, building a container image from the rust_backend example would create a container image that was 122 MB (huge)! With a tweak to use the new
collect_references
recipe, this shrinks to only 7.3 MB, since we're no longer grabbing unnecessary references!